#ifndef __DRV_SDIO_H_
#define __DRV_SDIO_H_

#include "hc32_ll.h"
#include "sd.h"
#include "mmc.h"

#include "FreeRTOS.h"
#include "task.h"
#include "semphr.h"

#define SDIO_TEST_MODE 0
/* Use MMC Card */
// #define CARD_SDC

void SDIOC_Pinctrl_Init(void);
void SDIOC_Config(void);

uint8_t SDIOC_GetTxRxErr(void);
void SDIOC_ClrTxRxErr(void);
uint8_t SDIOC_IsInited(void);
SemaphoreHandle_t SDIOC_GetSem(void);

#ifdef CARD_SDC
stc_sd_handle_t* SdCard_GetHandle(void);
#else
stc_mmc_handle_t* MMC_GetHandle(void);
#endif // CARD_SDC

void sdio_task(void *param);

#endif // __DRV_SDIO_H_
